package com.venutech.gongan.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.venutech.gongan.entity.DeviceDate;
import com.venutech.gongan.entity.DeviceStatus;
import com.venutech.gongan.entity.DictData;
import com.venutech.gongan.model.ResultFormat;

import java.util.List;

public interface DictDataService {
    //插入数据
    ResultFormat insert(DictData dictData);

    //根据ID删除对象
    int deleteById(Integer dict_code_id);

    //根据ID返回对象
    DictData getById(Integer dict_code_id);

    //修改对象信息
    int updateDictData(DictData dictData);

    //根据字典类型查询对应的字典数据
    List<DictData> getAllDictName(String dict_type);

    //获取区域编码
    List<DictData> getSelQybm();

    //获取小类编码
    List<DictData> getSelXlbm();

    //获取联网属性
    List<DictData> getSellwsx();

    //获取设备状态
    List<DictData> getSelsbzt();

    //设备厂商
    List<DictData> getSelsbcs();

    //行政区域 姑苏区
    List<DictData> getSelzxbm();

    //摄像机类型
    List<DictData> getSelsxjlx();

    //摄像机功能类型
    List<DictData> getSelsxjgnlx();

    //位置类型
    List<DictData> getSelsxjwzlx();

    //摄像机补光属性
    List<DictData> getSelsxjbgsx();

    //监视方位
    List<DictData> getSeljsfw();

    //最高分辨率
    List<DictData> getSelzcfbl();

    //摄像机编码格式
    List<DictData> getSelsxjbmgs();

    //公安机关 苏州市
    List<DictData> getSelgajg();

    //所属部门
    List<DictData> getSelssbmhy();

    //设备所属类型
    List<DictData> getSelsbsslx();

    //工单类型
    List<DictData> getSelWorkType();

    //工单状态
    List<DictData> getSelWorkState();

    //查询所有型号集合
    List<DictData> getSelAllXh();

    //获取运营商编码
    List<DictData> getSelAllyys();

    //民警行政区域
    List<DictData> getSelAllMjxzqy();

    //分页查询
    Page<DictData> getInfo(Integer pageNo, Integer pageSize, String begintime, String endtime,
                           String badw, String dict_type);

    DictData getDictDataByDictValueAndDictType(String dictValue, String dictType);

    /**
     * @author:
     * date: 2021/11/26 0026 16:11
     * @since: JDK 1.8
     * @description: 获取所有设备故障
     * @param:
     * @return:
     */
    List<DeviceDate> getDeviceList();

    /**
     * @author:   
     * date: 2021/11/26 0026 16:52
     * @since: JDK 1.8
     * @description: 这里用一句话描述这个方法的作用 
     * @param: 
     * @return: 
     */
    List<DeviceStatus> getDeviceStatusList();
}
